package pl.edu.agh.uddiProxy;

import java.util.Map;

import pl.edu.agh.uddiProxy.types.TModel;
import dk.itst.uddi.client.types.core.BindingTemplate;
import dk.itst.uddi.client.types.core.BusinessEntity;
import dk.itst.uddi.client.types.core.BusinessInfo;
import dk.itst.uddi.client.types.core.BusinessService;
import dk.itst.uddi.client.types.core.OperationalInfo;
import dk.itst.uddi.client.types.core.ServiceInfo;
import dk.itst.uddi.client.types.core.TModelInfo;

public interface InquiryClientInterface {
	
	BindingTemplate getBinding(String key);
	
	BindingTemplate[] getBindings(String[] keys);
	
	BusinessEntity[] getBusinessEntities(String[] keys);
	
	BusinessEntity getBusinessEntity(String businessKey);
	
	OperationalInfo getOperationalInfo(String entityKey);
	
	OperationalInfo[] getOperationalInfo(String[] entityKeys);
	
	BusinessService getService(String serviceKey);
	
	BusinessService[] getServices(String[] serviceKeys);
	
	TModel getTModel(String tModelKey);
	
	TModel[] getTModels(String[] keys);
	
	TModel[] getTModels(String[] keys, String query);
	
	String getWSDL(String tModelKey);
	
	BusinessInfo[] findBusiness(String name);
	
	BindingTemplate[] findBinding(String serviceKey);
	
	ServiceInfo[] findService(String businessKey, String name);
	
	TModelInfo[] findTModel(String name, String query);
	
	TModelInfo[] findTModel(String name, String query, String type);
}
